Data converters are used in many applications such as telephone switching equipment, voice-band data communications, speech coding systems, and audio and video signal processing equipment. Data converters may include multiple stages of interpolation or decimation. Each stage of the interpolation operates at a frequency that is different from the frequency of other stages of interpolation. Similarly, each stage of decimation operates at a frequency that is different than the frequency of operation of other stages of decimation. The frequency of operation of the various stages are dependent on the frequency of operation of the initial stage of interpolation. Similarly, the frequency of operation of subsequent stages of decimation are dependent on the frequency of operation of the initial stage of operation. Therefore, the clock frequency of the initial stage of interpolation (or decimation) has typically been divided down in a hardware divide circuit, such as a series of flip-flops, to provide the appropriate frequencies for subsequent stages of interpolation or decimation. The dependent relationship between the frequency of operation of one stage and the frequency of operation of a subsequent stage was fixed and remained unchanged.
A need exists for a technique useful with multiple-stage interpolation or decimation that would permit the relationship between the frequency of operation of one stage and the frequency of operation of a subsequent stage to be varied. Such a technique would permit maintaining the clock frequency constant and changing the interpolation or decimation factor for each stage. Being able to change the interpolation or decimation factor for each stage would permit the overall interpolation or decimation factor, which is the product of the interpolation or decimation factor for each stage, to be programmable resulting in a versatile interpolation or decimation capability with multiple applications.